Channel estimation for time division duplex communication systems

ABSTRACT

A single transmitter transmits K communication bursts in a shared spectrum in a time slot of a time division duplex communication system. Each burst has an associated midamble sequence, a receiver knowing the midamble sequences of the K bursts. The receiver receives a vector corresponding to the transmitted midamble sequences of the K communication bursts. A matrix having K right circulant matrix blocks is constructed based in part on the known K midamble sequences. The wireless channel between the transmitter and receiver is estimated based on in part the K block matrix and the received vector.

This application is a continuation of U.S. patent application Ser. No. 11/217,960, filed Sep. 1, 2005, which is a continuation of U.S. patent application Ser. No. 09/755,400, filed on Jan. 5, 2001, which issued as U.S. Pat. No. 6,985,513, which claims priority from U.S. Provisional Patent Application No. 60/175,167, filed on Jan. 7, 2000; all of which are incorporated by reference herein.

BACKGROUND

The invention generally relates to wireless communication systems. In particular, the invention relates to channel estimation in a wireless communication system.

FIG. 1 is an illustration of a wireless communication system 10. The communication system 10 has base stations 12 ₁ to 12 ₅ which communicate with user equipments (UEs) 14 ₁ to 14 ₃. Each base station 12 ₁ has an associated operational area where it communicates with UEs 14 ₁ to 14 ₃ in its operational area.

In some communication systems, such as code division multiple access (CDMA) and time division duplex using code division multiple access (TDD/CDMA), multiple communications are sent over the same frequency spectrum. These communications are typically differentiated by their chip code sequences. To more efficiently use the frequency spectrum, TDD/CDMA communication systems use repeating frames divided into time slots for communication. A communication sent in such a system will have one or multiple associated chip codes and time slots assigned to it based on the communication's bandwidth.

Since multiple communications may be sent in the same frequency spectrum and at the same time, a receiver in such a system must distinguish between the multiple communications. One approach to detecting such signals is single user detection. In single user detection, a receiver detects only the communications from a desired transmitter using a code associated with the desired transmitter, and treats signals of other transmitters as interference. Another approach is referred to as joint detection. In joint detection, multiple communications are detected simultaneously.

To utilize these detection techniques, it is desirable to have an estimation of the wireless channel in which each communication travels. In a typical TDD system, the channel estimation is performed using midamble sequences in communication bursts.

A typical communication burst 16 has a midamble 20, a guard period 18 and two data bursts 22, 24, as shown in FIG. 2. The midamble 20 separates the two data bursts 22, 24 and the guard period 18 separates the communication bursts 16 to allow for the difference in arrival times of bursts 16 transmitted from different transmitters. The two data bursts 22, 24 contain the communication burst's data. The midamble 20 contains a training sequence for use in channel estimation.

After a receiver receives a communication burst 16, it estimates the channel using the received midamble sequence. When a receiver receives multiple bursts 16 in a time slot, it typically estimates the channel for each burst 16. One approach for such channel estimation for communication bursts 16 sent through multiple channels is a Steiner Channel Estimator. Steiner Channel Estimation is typically used for uplink communications from multiple UEs, 14 ₁ to 14 ₃, where the channel estimator needs to estimate multiple channels.

In some situations, multiple bursts 16 experience the same wireless channel. One case is a high data rate service, such as a 2 megabits per second (Mbps) service. In such a system, a transmitter may transmit multiple bursts in a single time slot. Steiner estimation can be applied in such a case by averaging the estimated channel responses from all the bursts 16. However, this approach has a high complexity. Accordingly, it is desirable to have alternate approaches to channel estimation.

SUMMARY

A single transmitter transmits K communication bursts in a shared spectrum in a time slot of a time division duplex communication system. Each burst has an associated midamble sequence, a receiver knowing the midamble sequences of the K bursts. The receiver receives a vector corresponding to the transmitted midamble sequences of the K communication bursts. A matrix having K right circulant matrix blocks is constructed based in part on the known K midamble sequences. The wireless channel between the transmitter and receiver is estimated based on in part the K block matrix and the received vector.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a wireless communication system.

FIG. 2 is an illustration of a communication burst.

FIG. 3 is a simplified multiburst transmitter and receiver.

FIG. 4 is a flow chart of multiburst channel estimation.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 3 illustrates a simplified multicode transmitter 26 and receiver 28 in a TDD/CDMA communication system. In a preferred application, such as a 2 Mbs downlink service, the receiver 28 is in a UE 14 ₁ and the transmitter 26 is in a base station 12 ₁, although the receiver 28 and transmitter 26 may be used in other applications.

The transmitter 26 sends data over a wireless radio channel 30. The data is sent in K communication bursts. Data generators 32 ₁ to 32 _(K) in the transmitter 26 generate data to be communicated to the receiver 28. Modulation/spreading and training sequence insertion devices 34 ₁ to 34 _(K) spread the data and make the spread reference data time-multiplexed with a midamble training sequence in the appropriate assigned time slot and codes for spreading the data, producing the K communication bursts. Typical values of K for a base station 12 ₁ transmitting downlink bursts are from 1 to 16. The communication bursts are combined by a combiner 48 and modulated by a modulator 36 to radio frequency (RF). An antenna 38 radiates the RF signal through the wireless radio channel 30 to an antenna 40 of the receiver 28. The type of modulation used for the transmitted communication can be any of those known to those skilled in the art, such as binary phase shift keying (BPSK) or quadrature phase shift keying (QPSK).

The antenna 40 of the receiver 28 receives various radio frequency signals. The received signals are demodulated by a demodulator 42 to produce a baseband signal. The baseband signal is processed, such as by a channel estimation device 44 and a data detection device 46, in the time slot and with the appropriate codes assigned to the transmitted communication bursts. The data detection device 46 may be a multiuser detector or a single user detector. The channel estimation device 44 uses the midamble training sequence component in the baseband signal to provide channel information, such as channel impulse responses. The channel information is used by the data detection device 46 to estimate the transmitted data of the received communication bursts as hard symbols.

To illustrate one implementation of multiburst channel estimation, the following midamble type is used, although multiburst channel estimation is applicable to other midamble types. The K midamble codes, m ^((k)) where k=1 . . . K, are derived as time shifted versions of a periodic single basic midamble code, m _(P) of period P chips. The length of each midamble code is L_(m)=P+W−1. W is the length of the user channel impulse response. Typical values for L_(m) are 256 and 512 chips. W is the length of the user channel impulse response. Although the following discussion is based on each burst having a different midamble code, some midambles may have the same code. As, a result, the analysis is based on N midamble codes, N<K. Additionally, the system may have a maximum number of acceptable midamble codes N. The receiver 28 in such a system may estimate the channel for the N maximum number of codes, even if less than N codes are transmitted.

The elements of m _(P) take values from the integer set {1, −1}. The sequence m _(P) is first converted to a complex sequence {tilde over (m)} _(P)[i]=j^(i)·m _(P) [i], where i=1 . . . P The m are obtained by picking K sub-sequences of length L_(m) from a 2P long sequence formed by concatenating two periods of {tilde over (m)} _(P). The i^(th) element of m ^((k)) is related to P by Equation 1. $\begin{matrix} \begin{matrix} {{\underset{\_}{m_{i}^{(k)}} = {{\overset{\sim}{m}}_{P}\left\lbrack {{\left( {K - k} \right)W} + i} \right\rbrack}},} & {{{for}\quad 1} \leq i \leq {P - {\left( {K - k} \right)W}}} \\ {{= {{\overset{\sim}{m}}_{P}\left\lbrack {i - P + {\left( {K - k} \right)W}} \right\rbrack}},} & {{{{for}\quad P} - {\left( {K - k} \right)W}} \leq i \leq {P + W - 1}} \end{matrix} & {{Equation}\quad 1} \end{matrix}$ Thus, the starting point of m ^((k)) ,k=1 . . . K shifts to the right by W chips as k increases from 1 to K.

The combined received midamble sequences are a superposition of the K convolutions. The k^(th) convolution represents the convolution of m ^((k)) with {overscore (h^((k)))}. {overscore (h^((k)))} is the channel response of the k^(th) user. The preceding data field in the burst corrupts the first (W−1) chips of the received midamble. Hence, for the purpose of channel estimation, only the last P of L_(m) chips are used to estimate the channel.

Multiburst channel estimation will be explained in conjunction with the flow chart of FIG. 4. To solve for the individual channel responses {overscore (h^((k)))} Equation 2 is used. $\quad{\quad\begin{matrix} {{\begin{bmatrix} m_{P} & \cdots & m_{{{({K - 1})}W} + 1} & m_{{({K - 1})}W} & \cdots & m_{{{({K - 2})}W} + 1} & \quad & m_{W} & \cdots & m_{1} \\ m_{1} & \cdots & m_{{{({K - 1})}W} + 2} & m_{{{({K - 1})}W} + 1} & \cdots & m_{{{({K - 2})}W} + 2} & \quad & m_{W + 1} & \cdots & m_{2} \\ m_{2} & \cdots & m_{{{({K - 1})}W} + 3} & m_{{{({K - 1})}W} + 2} & \cdots & m_{{{({K - 2})}W} + 3} & \cdots & m_{W + 2} & \cdots & m_{3} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \quad & \vdots & \vdots & \vdots \\ m_{{KW} - 1} & \vdots & m_{{({K - 1})}W} & m_{{{({K - 1})}W} - 1} & \cdots & m_{{({K - 2})}W} & \quad & m_{W - 1} & \quad & m_{P} \end{bmatrix} \times \begin{bmatrix} {\underset{\_}{h}}^{(1)} \\ {\underset{\_}{h}}^{(2)} \\ \quad \\ \vdots \\ {\underset{\_}{h}}^{(K)} \end{bmatrix}} = \begin{bmatrix} r_{W} \\ r_{W + 1} \\ r_{W + 2} \\ \vdots \\ r_{L_{m}} \end{bmatrix}} & {{Equation}\quad 2} \end{matrix}}$ r_(W) . . . r_(LM) are the received combined chips of the midamble sequences. The m values are the elements of m _(P) .

Equation 2 may also be rewritten in shorthand as Equation 3. $\begin{matrix} {{\sum\limits_{k - 1}^{k}\quad{M^{(k)}\overset{\_}{h^{(k)}}}} = \overset{\_}{r}} & {{Equation}\quad 3} \end{matrix}$ Each M^((k)) is a KW-by-W matrix. {overscore (r)} is the received midamble chip responses. When all the bursts travel through the same channel, {overscore (h⁽¹⁾)} . . . {overscore (h^((k)))} can be replaced by {overscore (h)} as in Equation 4, 50. $\begin{matrix} {{\left\lbrack {\sum\limits_{k = 1}^{K}\quad M^{(k)}} \right\rbrack\overset{\_}{h}} = \overset{\_}{r}} & {{Equation}\quad 4} \end{matrix}$ G is defined as per Equation 5. G=[M ⁽¹⁾ , . . . ,M ^((k)) , . . . ,M ^((K))]  Equation 5 As a result, G is a KW-by-KW matrix. Since G is a right circulant matrix, Equation 4 can be rewritten using K identical right circulant matrix blocks B, as per Equation 6, 52. $\begin{matrix} {\left\lbrack {\sum\limits_{k = 1}^{K}\quad M^{(k)}} \right\rbrack = {\begin{bmatrix} B \\ B \\ \vdots \\ B \end{bmatrix} = D}} & {{Equation}\quad 6} \end{matrix}$ B is a W-by-W right circulant matrix. The number of B-blocks is K. Using Equation 6, Equation 4 can be rewritten as Equation 7. D{overscore (h)}={overscore (r)}  Equation 7

Equation 7 describes an over-determined system with dimensions KW-by-W. One approach to solve Equation 7 is a least squares solution, 54. The least squares solution of Equation 7 is given by Equation 8. {circumflex over ({overscore (h)})}=(D ^(H) D)⁻¹ D ^(H) {overscore (r)}  Equation 8 D^(H) is the hermitian of D.

Applying Equation 6 to Equation 8 results in Equation 9. $\begin{matrix} {\left( {D^{H}D} \right)^{- 1} = {\frac{1}{K}\left( {B^{H}B} \right)^{- 1}}} & {{Equation}\quad 9} \end{matrix}$ The received vector {overscore (r)} of dimension KW can be decomposed as per Equation 10. $\begin{matrix} {\overset{\_}{r} = \begin{bmatrix} {\overset{\_}{r}}_{1} \\ {\overset{\_}{r}}_{2} \\ \vdots \\ {\overset{\_}{r}}_{k} \end{bmatrix}} & {{Equation}\quad 10} \end{matrix}$ The dimension of {overscore (r)}_(k) is W. Substituting Equations 9 and 10 into Equation 8, the least-squares solution for the channel coefficients per Equation 11 results. $\begin{matrix} {\hat{\overset{\_}{h}} = {{\left( {B^{H}B} \right)^{- 1}{B^{H}\left( {\frac{1}{K}{\sum\limits_{k = 1}^{K}\quad{\overset{\_}{r}}_{k}}} \right)}} = {\left( {B^{H}B} \right)^{- 1}B^{H}{\overset{\_}{\overset{\_}{r}}}_{k}}}} & {{Equation}\quad 11} \end{matrix}$ {double overscore (r)}_(k) represents the average of the segments of {overscore (r)}. Since B is a square matrix, becomes Equation 12. {circumflex over ({overscore (h)})}=B ⁻¹ {double overscore (r)} _(k)  Equation 12 Since B is a right circulant matrix and the inverse of a right circulant matrix is also right circulant, the channel estimator can be implemented by a single cyclic correlator, or by a discrete Fourier transform (DFT) solution.

A W point DFT method is as follows. Since B is right circulant, Equation 13 can be used. B=D _(W) ⁻¹·Λ_(C) ·D _(W)  Equation 13 D_(W) is the W point DFT matrix as per Equation 14. $\begin{matrix} {D_{W} = \begin{bmatrix} {\overset{\sim}{W}}^{0} & {\overset{\sim}{W}}^{0} & {\overset{\sim}{W}}^{0} & {\overset{\sim}{W}}^{0} & \cdots & {\overset{\sim}{W}}^{0} \\ {\overset{\sim}{W}}^{0} & {\overset{\sim}{W}}^{1} & {\overset{\sim}{W}}^{2} & {\overset{\sim}{W}}^{3} & \cdots & {\overset{\sim}{W}}^{({W - 1})} \\ {\overset{\sim}{W}}^{0} & {\overset{\sim}{W}}^{2} & {\overset{\sim}{W}}^{4} & {\overset{\sim}{W}}^{6} & \cdots & {\overset{\sim}{W}}^{2{({W - 1})}} \\ {\overset{\sim}{W}}^{0} & {\overset{\sim}{W}}^{3} & {\overset{\sim}{W}}^{6} & {\overset{\sim}{W}}^{9} & \cdots & {\overset{\sim}{W}}^{3{({W - 1})}} \\ \vdots & \vdots & \vdots & \vdots & \cdots & \vdots \\ {\overset{\sim}{W}}^{0} & {\overset{\sim}{W}}^{({W - 1})} & {\overset{\sim}{W}}^{2{({W - 1})}} & {\overset{\sim}{W}}^{3{({W - 1})}} & \cdots & {\overset{\sim}{W}}^{{({W - 1})}{({W - 1})}} \end{bmatrix}} & {{Equation}\quad 14} \end{matrix}$ Λ_(C) is a diagonal matrix whose main diagonal is the DFT of the first column of B, as per Equation 15. Λ_(C)=diag(D _(W)(B(:,1)))  Equation 15. $\overset{\sim}{W} = {{\mathbb{e}}^{- j^{\frac{2\pi}{W}}}.}$ Thus, Dw is the DFT operator so that D_(W) x represents the W point DFT of the vector x. By substituting Equation 13 into Equation 12 and using ${D_{W}^{- 1} = \frac{D_{W}^{*}}{W}},$ results in Equation 16. $\begin{matrix} {\overset{\_}{h} = {\left( {D_{W}^{*} \cdot \frac{1}{W} \cdot \Lambda_{C}^{- 1} \cdot D_{W}} \right)\overset{\_}{r}}} & {{Equation}\quad 16} \end{matrix}$ D*_(W) is the element-by-element complex conjugate of Dw.

Alternately, an equivalent form that expresses {overscore (h)} in terms of Λ_(R) instead of Λ_(C) can be derived. Λ_(R) is a diagonal matrix whose main diagonal is the DFT of the first row of B per Equation 17. Λ_(R)=diag(D _(W)(B(1,:)))  Equation 17 Since the transpose of B, B^(T), is also right circulant and that its first column is the first row of B, BT can be expressed by Equation 18. B ^(T) =D _(W) ⁻¹·Λ_(R) ·D  Equation 18 Using Equation 18 and that D_(W) ^(T)=D_(W),Λ_(R) ^(T)=Λ_(R) and that for any invertible matrix A, (A^(T))⁻¹=(A⁻¹)^(T), B can be expressed as per Equation 19. B=D _(W)Λ_(R) ·D _(W) ⁻¹  Equation 19 Substituting Equation 19 into Equation 12 and that $D_{W}^{- 1} = \frac{D_{W}^{*}}{W}$ results in Equation 20. $\begin{matrix} {\overset{\_}{h} = {\left( {{D_{W} \cdot \Lambda_{R}^{- 1} \cdot \frac{1}{W}}D_{W}^{*}} \right)\overset{\_}{r}}} & {{Equation}\quad 20} \end{matrix}$ Equations 16 or 20 can be used to solve for {overscore (h)}. Since all DFTs are of length W, the complexity in solving the equations is dramatically reduced.

An approach using a single cyclic correlator is as follows. Since B⁻¹ is the inverse of a right circulant matrix, it can be written as Equation 21. $\begin{matrix} {B^{- 1} = {T = \begin{bmatrix} T_{1} & T_{W} & \cdots & T_{3} & T_{2} \\ T_{2} & T_{1} & \cdots & T_{4} & T_{3} \\ \vdots & \vdots & \cdots & \vdots & \vdots \\ T_{W - 1} & T_{W - 2} & \cdots & T_{1} & T_{W} \\ T_{W} & T_{W - 1} & \cdots & T_{2} & T_{1} \end{bmatrix}}} & {{Equation}\quad 21} \end{matrix}$ The first row of the matrix T is equal to the inverse DFT of the main diagonal of Λ_(R) ⁻¹. Thus, the matrix T is completely determined by Λ_(R) ⁻¹.

The taps of the channel response {overscore (h)} are obtained successively by an inner product of successive rows of T with the average of W-length segments of the received vector {overscore (r)}. The successive rows of T are circularly right shifted versions of the previous row. Using registers to generate the inner product, the first register holds the averaged segments of {overscore (r)}, and the second register is a shift register that holds the first row of the matrix T. The second register is circularly shifted at a certain clock rate. At each cycle of the clock, a new element of {overscore (h)} is determined by the inner product of the vectors stored in the two registers. It is advantageous to shift the first row of the matrix T rather than the received midambles. As a result, no extra storage is required for the midambles. The midambles continue to reside in the received buffer that holds the entire burst. Since the correlator length is only W, a significant reduction in complexity of estimating the channel is achieved. 

1. A user equipment configured to conduct wireless communication in a code division multiple access format associated with N midamble sequences where the user equipment is configured to receive K communication bursts in a shared spectrum in a time slot, each burst having an associated midamble sequence of the N sequences, the user equipment knowing the N midamble sequences and configured to receive the K communication bursts including a vector corresponding to the transmitted midamble sequences of the bursts, the user equipment (28) comprising: a channel estimator configured to construct a matrix having N identical right circulant-matrix blocks based in part on the known N midamble sequences and to estimate the wireless channel between the receiver and the single transmitter based on in part one of the N blocks and the received vector; and a data detector configured to recover data from the received communication bursts using the estimated wireless channel.
 2. The user equipment of claim 1 wherein the data detector is a multiuser detector.
 3. The user equipment of claim 1 wherein the data detector is a single user detector.
 4. The user equipment of claim 1 wherein the channel estimator configured to estimate the wireless channel using a least squares solution.
 5. The user equipment of claim 4 wherein the channel estimator configured to estimate the wireless channel using a least squares solution using a discrete Fourier transform solution.
 6. The user equipment of claim 4 wherein the channel estimator configured to estimate the wireless channel using a least squares solution using a single cyclic correlator. 